1. Field
The instant disclosure relates generally to object-oriented queues, and more particularly, to reducing the processing resource overhead involved in managing object-oriented queues.
2. Description of the Related Art
A program object is a data structure that includes data fields and one or more methods or procedures for adding, deleting or otherwise manipulating the data in the program object. When managing the processing of program objects, e.g., in object-oriented programming (OOP), there often is a need to keep program objects in a queue, e.g., as queue entry objects. A queue is any suitable type of ordered collection of entries, such as a LIFO (last in, first out) queue or a FIFO (first in, first out) queue. In many object-oriented programming applications, a queue is implemented as a queue object that generally defines the structure of the queue and provides the methods or procedures for operating the queue, including the operations of adding queue entry objects to the queue and removing queue entry objects from the queue.
Conventionally, when managing object-oriented (OO) queues, queue entry objects are inserted into the queue first by creating (i.e., allocating) a new queue entry object and then calling (or executing) an appropriate method within the queue object to insert the new queue entry object into the queue. To remove a queue entry object from the queue, another method within the queue object is called or executed to remove the queue entry object from the queue and to return the queue entry object to the caller. In such conventional queue management processing, once the queue entry object has been removed from the queue and used by the caller, the queue entry object is destroyed (i.e., deallocated). The creation and destruction of queue entry objects inserted into and deleted from a queue in this manner often results in relatively significant processing overhead, especially for processes in which a major portion of the process involves inserting queue entry objects into a queue and removing queue entry objects from a queue.